package org.scut.smartgeometry.view.identify_system.shape;

import org.scut.smartgeometry.view.identify_system.SGPath;
import org.scut.smartgeometry.view.identify_system.SGPoint;
import org.scut.smartgeometry.view.identify_system.shape.inf.IShapeCombine;
import org.scut.smartgeometry.view.identify_system.shape.inf.IShapeDraw;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 13-7-11.
 */
public class SGShape implements IShapeDraw, IShapeCombine{

    private List<SGPoint> points;

    private List<SGShape> combinedShapes;

    private SGPoint core;

    private SGPath path;

    public SGShape(List<SGPoint> points, SGPath path){
        this.points = points;
        this.path = path;

        this.combinedShapes = new ArrayList<SGShape>();
    }

    public SGShape(List<SGPoint> points, SGPath path, SGPoint core){
        this(points, path);
        this.core = core;
    }

    public SGPath getPath() {
        return path;
    }

    public List<SGPoint> getPoints() {
        return points;
    }

    public SGPoint getCore() {
        return core;
    }

    @Override
    public void combine(SGShape shape) {
        combinedShapes.add(shape);
    }

    @Override
    public List<SGShape> getCombinedShapes() {
        return combinedShapes;
    }

    @Override
    public void draw() {

    }
}
